//  This file is part of MuMax, a high-performance micromagnetic simulator.
//  Copyright 2011  Arne Vansteenkiste and Ben Van de Wiele.
//  Use of this source code is governed by the GNU General Public License version 3
//  (as published by the Free Software Foundation) that can be found in the license.txt file.
//  Note that you are welcome to modify this code under the condition that you do not remove any 
//  copyright notices and prominently state that you modified it, giving a relevant date.

package engine

// 
// Author: Arne Vansteenkiste

import ()

type PeakUpdater struct {
	input *Quant
	peak  *Quant
}

func NewPeakUpdater(input, peak *Quant) Updater {
	GetEngine().Depends(peak.Name(), input.Name())
	return &PeakUpdater{input, peak}
}

func (u *PeakUpdater) Update() {
	in := u.input.Scalar()
	if in > u.peak.multiplier[0] {
		u.peak.multiplier[0] = in
	}
}
